Model-based control systems and methods for gas turbine engines

ABSTRACT

A method and system of controlling a gas turbine engine is disclosed. The engine has sensors to detect one or more parameters and actuators adapted to respond to commands. The method includes receiving data from the sensors of the engine for one or more measured or sensed parameters, estimating a state of the engine by estimating one or more unmeasured or unsensed parameters using the data from the sensors and a predictive model of the engine, generating commands for the actuators based on the state using an optimization algorithm; and transmitting the commands to the engine. The system includes a state estimator adapted to estimate a state of the engine by estimating one or more unmeasured or unsensed parameters using data from the sensors of the engine for one or more measured or sensed parameters. The estimator includes a model of the engine. The system also includes a control module adapted to generate commands for the actuators based on the state. The control module includes an optimization algorithm for determining the commands.

This invention was made with Government support under government contract no. F33615-98-C-2901 awarded by the U.S. Department of Defense to General Electric Corporation. The Government has certain rights in the invention, including a paid-up license and the right, in limited circumstances, to require the owner of any patent issuing in this invention to license others on reasonable terms.

BACKGROUND OF THE INVENTION

The present invention relates generally to systems and methods for controlling a gas turbine engine. More specifically, the present invention relates to adaptive model-based control systems and methods that maximize capability after deterioration, fault, failure or damage to one or more engine components or systems so that engine performance and/or operability can be optimized.

Mechanical and electrical parts and/or systems can deteriorate, fail or be damaged. Any component in a gas turbine system, including engine components, sensors, actuators, or any of the engine subsystems, is susceptible to degradation, failure or damage that causes the engine to move away from nominal conditions. The effect that these upsets have on the gas turbine performance ranges from no effect (e.g., possibly due to a single failed sensor in a multi-sensor system) to a total loss of engine power or thrust control (e.g., for a failed actuator or damaged engine component). Control systems of gas turbine engines may be provided to detect such effects or the cause of such effects and attempt to compensate.

Currently, gas turbine systems rely on sensor-based control systems, in which operating goals and limits are specified and controlled in terms of available sensed parameters. Online engine health management is typically limited to sensor failure detection (e.g., range and rate checks), actuator position feedback errors, and some selected system anomaly checks, such as stall detection, rotor overspeed, and other such indications of loss of power or thrust control. When an engine component or system fails or deteriorates, control of the component/system is handled on an individual basis (i.e., each component/system is controlled by its own control regulator or heuristic open-loop logic).

It is believed that presently no adequate adaptive model-based control systems and methods are available.

SUMMARY OF THE INVENTION

One embodiment of the invention relates to a method of controlling a gas turbine engine. The engine has sensors to detect one or more parameters and actuators adapted to respond to commands. The method includes receiving data from the sensors of the engine for one or more measured or sensed parameters, estimating a state of the engine by estimating one or more unmeasured or unsensed parameters using the data from the sensors and a predictive model of the engine, generating commands for the actuators based on the state using an optimization algorithm, and transmitting the commands to the engine.

Another embodiment of the invention relates to a system for controlling a gas turbine engine, the engine having sensors to detect one or more parameters and actuators adapted to respond to commands. The system includes a state estimator adapted to estimate a state of the engine by estimating one or more unmeasured or unsensed parameters using data from the sensors of the engine for one or more measured or sensed parameters. The estimator includes a model of the engine. The system also includes a control module adapted to generate commands for the actuators based on the state. The control module includes an optimization algorithm for determining the commands.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram showing the layout of an engine that may be controlled by a system or method according to an embodiment of the invention;

FIG. 2 is a diagram illustrating the concept of receding horizon control implemented in an embodiment of the present invention; and

FIG. 3 is a schematic illustration of a control arrangement according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention provide control systems and methods wherein the models, optimizations, objective functions, constraints and/or parameters in the control system modify, update and/or reconfigure themselves whenever any engine component or system moves away from nominal so that as much performance and/or operability as possible can be regained. Further, systems and methods according to embodiments of the present invention provide that the control system updates itself in real-time. The systems and methods may be automated using a computer. Embodiments of the present invention may take information about detected deterioration, faults, failures and damage and incorporate such information into the proper models, optimizations, objective functions, constraints and/or parameters in the control system to allow the control system to take optimized action given the current engine condition. Such systems and methods may allow any level of deterioration, faults, failures or damage to be accommodated, and not just deterioration, faults, failures or damage that have a priori solutions already programmed into the system. Furthermore, embodiments of the present invention may be capable of being used to control gas turbines, such as the gas turbines in an aircraft engine, power plant, marine propulsion, or industrial application.

FIG. 1 illustrates a schematic of a layout of an engine 10 as well as the station designations, sensors, and actuators for the engine 10. The engine 10 is an aerodynamically coupled, dual rotor machine wherein a low-pressure rotor system (fan and low-pressure turbine) is mechanically independent of a high-pressure (core engine) system. Air entering the inlet is compressed by the fan and then split into two concentric streams. One of these streams then enters the high-pressure compressor and proceeds through the main engine combustor, high-pressure turbine, and low-pressure turbine. The other stream is directed through an annular duct and then recombined with the core flow, downstream of the low-pressure turbine, by means of a convoluted chute device. The combined streams then enter the augmenter to a convergent-divergent, variable area exhaust nozzle where the flow is pressurized, expanded and accelerated rearward into the atmosphere, thereby generating thrust.

The various actuators of the engine 10 are controlled through actuation inputs from a controller, such as the model predictive controller described below with reference to FIG. 3. The various sensors provide measured or sensed values of parameters for monitoring and use by one or more systems. For example, the sensed and measured values may be used to estimate values of unsensed and unmeasured parameters using a state estimator, as described below with reference to FIG. 3.

It will be understood by those skilled in the art that the disclosed embodiments may be applicable to a variety of systems and are not limited to engines similar to that illustrated in FIG. 1.

During normal operation, such engines can experience large variations in operating parameters, such as ambient temperature, pressure, Mach number and power output level. For each of these variations, the change in engine dynamics includes a significant nonlinear component. A control system and method for such an engine must adapt to such non-linear changes.

Control systems adapted to provide control of such engines have been described in U.S. patent application Ser. No. 10/306,433, GE Dkt. No. 124447, entitled “METHODS AND APPARATUS FOR MODEL PREDICTIVE CONTROL OF AIRCRAFT GAS TURBINE ENGINES,” filed Nov. 27, 2002, and U.S. patent application Ser. No. 10/293,078, GE Dkt. No. 126067, entitled “ADAPTIVE MODEL-BASED CONTROL SYSTEMS AND METHODS FOR CONTROLLING A GAS TURBINE,” filed Nov. 13, 2002, each of which is incorporated herein by reference in its entirety.

A nonlinear model predictive control (NMPC) algorithm can explicitly handle relevant aircraft engine control issues in a single formulation. NMPC is a nonlinear, multi-input, multi-output algorithm capable of handling both input and output constraints. Embodiments of the present invention use a dynamic model of the system to determine the response of the engine to control inputs over a future time horizon. The control actions are determined by a constrained online optimization of these future responses, as described in detail below with reference to FIG. 3.

The concept of receding horizon control 20 is illustrated in FIG. 2. At time k 21, the input variables 22 (u(k), u(k+1), . . . , u(k+p−1)) are selected to optimize a performance criterion over the prediction horizon 23 (p). Of the computed optimal control moves, only the values for the first sample (u(k)), are actually implemented. Before the next time interval 24, 24′ and calculation of another p input value (i.e., at u(k+1), u(k+2), . . . , u(k+p)), the initial state is re-estimated from output measurements. This causes the seemingly open-loop strategy to actually implement a closed-loop control. For further details, reference may be made to J. M. Maciejowski, Predictive Control with Constraints, Prentice-Hall London, 2002.

FIG. 3 illustrates a control arrangement implementing NMPC according to an embodiment of the invention. The control system 100 is adapted to monitor and control the physical engine plant 110 to provide substantially optimal performance under nominal, off-nominal and failure conditions, for example. “Optimal performance” may refer to different qualities under different conditions. For example, under normal flight, optimal performance may refer to maximizing fuel efficiency, while under a failure condition, optimal performance may refer to maximizing operability of the engine through maximum thrust.

The plant 110 includes sensors which sense or measure values Y of certain parameters. These parameters may include, for example, fan speed, pressures and pressure ratios, and temperatures. The plant also includes a plurality of actuators which are controlled by command inputs U. The plant may be similar to the engine illustrated in FIG. 1, for example.

The values Y of the sensed or measured parameters are provided to a state estimator 120. The use of NMPC requires that values of all states must be available. This is required since NMPC is a full state feedback controller. Availability of sensed or measured data is generally limited due to lack of sensors. To accommodate the requirements of the NMPC, embodiments of the present invention implement an Extended Kalman Filter (EKF) for estimating values of unmeasured or unsensed parameters. The EKF is described below in greater detail.

The state estimator 120 includes a model 130 of the plant 110. The model 130 is used by the state estimator 120 to generate state parameters which include estimates of unmeasured and unsensed parameters. In a particular embodiment, the model 130 is a simplified real-time model (SRTM), described in further detail below. The SRTM is a non-linear model that can be linearized for use by the state estimator to determine Kalman gain values.

The state parameters from the state estimator 120 are transmitted to a model-based predictive control module 140. The control module 140 uses the state parameters to perform an optimization to determine commands for the actuators of the plant 110. In this regard, the control module 140 includes an optimizer 150 and a model 160. The model 160 may be identical to the model 130 in the state estimator 120. In a particular embodiment, both models 130, 160 are the SRTM. Using the SRTM, rather than a detailed, physics-based model allows the optimization to converge rapidly. In a particular embodiment, the optimizer 150 includes a quadratic programming algorithm to optimize an objective function under given constraints. The optimizer determines the optimum values of control variables (i.e., actuator commands), and allows constraints to be specified relating to certain engine parameters, such as maximum temperatures, altitude and Mach number, while maximizing or minimizing an objective function, such as fuel efficiency or thrust. It is noted that, in an embodiment of the invention, constraints and objective function may include any of the state parameters, whether sensed, measured, unsensed or unmeasured. An exemplary formulation for the optimizer is described below.

Model

Physics-based, component-level models (CLM) have been employed for various applications, including certain control systems. A CLM is generally a complicated, iterative model. Such a model may require extensive processing when used in an optimizer, for example, thereby delaying convergence of the optimization. In this regard, a non-linear, analytic and non-iterating model may be implemented. This model is referred to herein as a simple real-time model (SRTM). In a particular embodiment, this model is used in both the state estimator 120 and the control module 140.

An exemplary SRTM for implementation of embodiments of the present invention has inputs including the 1) fuel flow demand, 2) exhaust nozzle area demand, 3) altitude, 4) Mach, and 5) delta from ambient temperature. The first two inputs correspond to actuator commands U from the control module 140, while the remaining three correspond to measured or sensed outputs Y from the plant 110. It is noted that these inputs are only exemplary and that other combinations of inputs are contemplated within the scope of the invention.

The outputs of the SRTM include estimates for certain unmeasured and unsensed parameters. These output parameters may include core speed, fan speed, fan inlet pressure, fan exit pressure, compressor inlet pressure, compressor discharge static pressure, compressor discharge total pressure, fan airflow, compressor airflow, fan inlet temperature, compressor inlet temperature, high pressure turbine exit temperature, fan stall margin, core stall margin, and thrust.

An embodiment of the SRTM model depends on tables of steady state data to define the steady state relationships between states and inputs and on transient gains to represent the transient relationships. The model may be established in the following manner.

First, the dynamics of the inertias are modeled. The two main states of the model represent the fan and core spool inertias. The first input modeled is the corrected fuel flow input (wfr). Then the model is changed to account for exit area demand as an additional input. The steady state curves may then be generated. With the primary states and inputs established, other outputs and other inputs are added to the model. With the model structure created and all of the steady state relationships defined, the transient ‘k’ parameters may then be determined through system identification techniques.

The embodiment of the SRTM considers the low-pressure and high-pressure spool speeds as two of the energy storage components, or the states of the model. These speeds can change state if an unbalanced torque is applied. Simply put, the speed increments of the engine are the integral of the surplus torques. This is stated mathematically as: $\begin{matrix} {{\frac{\mathbb{d}\omega}{\mathbb{d}t} = {\frac{1}{I}{\sum\limits_{i = 1}^{J}Q_{i}}}},} & \left( {{Eq}.\quad 1} \right) \end{matrix}$ where $\frac{\mathbb{d}\omega}{\mathbb{d}t}$ is the spool angular acceleration, J is the number of unbalanced torques, I is the spool inertia, and Q_(i) is the i^(th) torque. The origin of the torques is based on the concept that if the value of an input or other state is different than what the local state is expecting at steady state, then it will apply an unbalanced torque to the local state. Using this information and Eq. 1, this idea is expressed for LP spool speed (pcn2), and the HP spool speed (pcn25) as: p{dot over (c)}n2=k2*(pcn25−gpcn25)+kwfn2*(wf−gwfn2),  (Eq. 2) p{dot over (c)}n25=k25*(pcn2−gpcn2)+kwfr25*(wf−gwfn25),  (Eq. 3) where p{dot over (c)}n2 and p{dot over (c)}n25 are the angular acceleration of the low-pressure and high-pressure spools, respectively, the g parameters are based on steady state relationships, and the k parameters are derived from transient data. Working through Eq. 2, each of the terms is described as follows:

-   -   k2 represents the aerodynamic influence of the HP spool on the         LP spool acceleration,     -   gpcn25 is the steady state value of pcn25 based on pcn2,     -   kwfn2 is the influence of a change in wf on the LP spool         acceleration,     -   gwfn2 is the steady state value of wf based on the value of         pcn2.

Similarly for Eq. 3,

-   -   k25 represents the aerodynamic influence of the LP spool on the         HP spool acceleration,     -   gpcn2 is the steady state value of pcn2 based on pcn25,     -   kwfn25 is the influence of a change in wf on the HP spool         acceleration,     -   gwfn25 is the steady state value of wf based on the value of         pcn25.

The two control outputs from the control module are fuel flow demand and exhaust nozzle area demand. The engine model inputs are fuel flow and exit area. Between the commands from the control and the physical inputs to the engine are the inner-loop control algorithm and the actuators. The models of the inner loop controls and actuator dynamics for both the fuel metering valve and exhaust nozzle are created.

As noted above, in a particular embodiment, the SRTM is used as a predictive model in both the state estimator and the control module. The state estimator of one embodiment is an Extended Kalman Filter (EKF) that uses the SRTM in its nonlinear form (described above) for the time update calculation. A linearized version of the SRTM is used by the EKF for the Kalman gain calculation. Similarly, the control module of one embodiment, using a quadratic programming algorithm, depends on a linear SRTM model to define the relationships between future control actions and future engine responses.

A linearized version of the SRTM is obtained as follows. The SRTM can be described in general as a nonlinear ordinary differential equation (ODE): {dot over (x)} _(t) =f(x _(t) ,u _(t)),  (Eq. 4) with the states x_(t) and the inputs u_(t). Taylor's theorem is used to linearize the solution about the current ({overscore (x)}_(t),{overscore (u)}_(t)) value. Introducing the deviation variables ({tilde over (x)}_(t),ũ_(t)), x _(t) ={overscore (x)} _(t) +{tilde over (x)} _(t) , u _(t) ={overscore (u)} _(t) +ũ _(t)  (Eq. 5) yields the following standard Taylor's expansion for the ODE in Eq. 4: $\begin{matrix} {{\overset{.}{x}}_{t} = {{{\overset{.}{\overset{\_}{x}}}_{t} + {\overset{.}{\overset{\sim}{x}}}_{t}} = {{f\left( {{\overset{\_}{x}}_{t},{\overset{\_}{u}}_{t}} \right)} + {\frac{\partial f}{\partial x}{_{\overset{\_}{x},\overset{\_}{u}}{{\overset{\sim}{x}}_{t} + \frac{\partial f}{\partial u}}}_{\overset{\_}{x},\overset{\_}{u}}{{\overset{\sim}{u}}_{t}.}}}}} & \left( {{Eq}.\quad 6} \right) \end{matrix}$

This ODE describes how the solution x_(t) evolves with control u_(t) in comparison with the nominal solution {overscore (x)}_(t) from control {overscore (u)}_(t). The linearized system is then represented by: $\begin{matrix} {{\overset{.}{\overset{\sim}{x}}}_{t} = {{\frac{\partial f}{\partial x}{_{\overset{\_}{x},\overset{\_}{u}}{{\overset{\sim}{x}}_{t} + \frac{\partial f}{\partial u}}}_{\overset{\_}{x},\overset{\_}{u}}\overset{\sim}{u}} + {f\left( {{\overset{\_}{x}}_{t},{\overset{\_}{u}}_{t}} \right)} - {\overset{.}{\overset{\_}{x}}.}}} & \left( {{Eq}.\quad 7} \right) \end{matrix}$

In the above ODE, {tilde over ({dot over (x)})}=0, since {overscore (x)}_(t) is a constant denoting the current value of the states.

Moreover, for linearization about steady-state equilibrium solutions, f ({overscore (x)},{overscore (u)})=0, and thus, there is no additive term f({overscore (x)}_(t),{overscore (u)}_(t)). However, when linearizing about an arbitrary current point ({overscore (x)}_(t),{overscore (u)}_(t)), this additive term is a non-zero term that is constant over the timeframe of evolution of the linearized system.

In addition to the ODE system in Eq. 4 that describes the dynamics of the system, we also linearize the output relations for both the measured outputs z, and the controlled outputs y_(t): z _(t) =h _(m)(x _(t) ,u _(t)) y _(t) =h _(c)(x _(t) ,u _(t))  (Eq. 8) using a similar Taylor's series expansion about the current values: $\begin{matrix} {{{\overset{\sim}{z}}_{t} = {{z_{t} - {\overset{\_}{z}}_{t}} = {\frac{\partial h_{m}}{\partial x}{_{\overset{\_}{x},\overset{\_}{u}}{{\overset{\sim}{x}}_{t} + \frac{\partial h_{m}}{\partial u}}}_{\overset{\_}{x},\overset{\_}{u}}{\overset{\sim}{u}}_{t}}}}{{\overset{\sim}{y}}_{t} = {{y_{t} - {\overset{\_}{y}}_{t}} = {\frac{\partial h_{c}}{\partial x}{_{\overset{\_}{x},\overset{\_}{u}}{{\overset{\sim}{x}}_{t} + \frac{\partial h_{c}}{\partial u}}}_{\overset{\_}{x},\overset{\_}{u}}{{\overset{\sim}{u}}_{t}.}}}}} & \left( {{Eq}.\quad 9} \right) \end{matrix}$

Using the above, the identity {overscore (y)}=h({overscore (x)}_(t),{overscore (u)}_(t)), and the following substitutions: $\begin{matrix} {{A_{c} = {\frac{\partial f}{\partial x}❘_{\hat{x},\overset{\_}{u}}}},{B_{c} = {\frac{\partial f}{\partial u}❘_{\hat{x},\overset{\_}{u}}}},{C = {\frac{\partial h_{c}}{\partial x}❘_{\hat{x},\overset{\_}{u}}}},{D = {\frac{\partial h_{c}}{\partial u}❘_{\hat{x},\overset{\_}{u}}}}} & \left( {{Eq}.\quad 10} \right) \end{matrix}$ the linear model is derived: {tilde over ({dot over (x)})}=A _(c) {tilde over (x)} _(t) +B _(c) ũ _(t) +f {tilde over (y)} _(t) =C{tilde over (x)} _(t) +D _(ũ) _(t).  (Eq. 11)

Finally, when the control solution ũ_(t+τ) is determined it should be interpreted as additive to the constant current input, so that u_(t+τ)={overscore (u)}_(t)+ũ_(t+τ).

It is important to note the f term in Eq. 11. This term represents the free response of the plant.

Thus, the embodiment of the SRTM provides simplified model that provides accurate and rapid convergence of the optimization. The model can be linearized for certain purposes.

The linear model in Eq. 11 is discretized in time using the sample time T_(s) to obtain the linear discrete-time model: {tilde over (x)} _(t+1) =A{tilde over (x)} _(t) +Bũ _(t) +F, {tilde over (y)} _(t) =C{tilde over (x)} _(t) +Dũ _(t)  (Eq. 12) where A=I+A _(c) T _(s) , B=B _(c) T _(s) , F=f({circumflex over (x)} _(t) ,{overscore (u)} _(t))T _(s).  (Eq. 13) Extended Kalman Filter

The state estimator implemented in a particular embodiment is an Extended Kalman Filter (EKF). The EKF is a nonlinear state estimator, which is based on a dynamical system model. While the model underpinning the EKF is nonlinear, the recursion is based on a linear gain computed from the parameters of the linearized SRTM model. Thus the design concepts inherit much from the realm of Kalman Filtering.

The EKF need not provide the truly optimal state estimate to the controller in order to operate adequately well. It is usually a suboptimal nonlinear filter in any case. However, its role in providing the state estimates to the NMPC for correct initialization is a key feature of the control module.

For the EKF analysis, the SRTM is described by: {dot over (x)} _(t) =f(x _(t) ,u _(t))+w _(t), y _(kΔt) h(x _(kΔt) ,u _(kΔt))+v_(kΔt)  (Eq. 14) where the measurement y arrives at every Δt seconds and the white noise variables w and v represent the process and measurement noises, respectively. This is a continuous-time dynamical system with discrete-time (sampled) measurements.

The EKF equations can be written in predictor-corrector form. For the state estimation case, the predictor or time-update equations using Euler integration to move from continuous to discrete time are: {circumflex over (x)} _({overscore (k)}+1) ={circumflex over (x)} _(k) +Δt f(x _(k) ,u _(k)), P _({overscore (k)}+1) =A _(k) P _(k) A _({dot over (k)}) +W  (Eq. 15) where {circumflex over (x)}_({overscore (k)}+1) is a priori to the measurement step state estimate, P_({overscore (k)}+1) is the a priori estimate error covariance, W is the discrete-time process noise covariance (after scaling by Δt), and A_(k) is the discrete-time transition of the linearized system, or: A _(k) =I+A _(c) T _(s)  (Eq. 16)

The linear discrete time measurement matrix C is defined as: $\begin{matrix} {C_{k} = {\frac{\partial h}{\partial x}{\left( {{\hat{x}}_{k + 1}^{-},p_{k},u_{k}} \right).}}} & \left( {{Eq}.\quad 17} \right) \end{matrix}$

Next the Kalman filter gain is computed using: K=P _({overscore (k)}+1) C _({dot over (k)})(R+C _(k) P _({overscore (k)}+1) C _({dot over (k)}))⁻¹  (Eq. 18)

The corrector or measurement update equations are: {circumflex over (x)} _(k+1) ={circumflex over (x)} _({overscore (k)}+1) +K(y _(k) −h({circumflex over (x)} _({overscore (k)}+1) ,p _(k) ,u _(k)), P _(k+1) =P _({overscore (k)}+1) −K(R+C _(k) P _({overscore (k)}+1) C _({dot over (k)}))⁻¹ K′.  (Eq. 19) Optimizer Formulation

Embodiments of the control module include an optimizer adapted to maximize or minimize an objective function while satisfying a given set of constraints. In one embodiment, the optimizer uses a quadratic programming algorithm. As described above, the control module uses a dynamic model of the plant to perform simulations over a specific horizon, the model being the SRTM in one embodiment.

In an exemplary embodiment, the control module is designed to control the fan speed PCN2R, and the pressure ratio DPP (y_(1t)=PCN2R, y_(2t)=DPP) using the combustor fuel flow, fmvdmd, and the afterburner, a8xdmi as the manipulated inputs (u_(1t)=fmvdmd, u_(2t)=a8xdmi), subject to magnitude and slew rate constraints imposed by the hardware limits on the actuators for the two manipulated inputs. In addition to these constraints, the optimization in the control module will also be performed subject to other operational/safety constraints like stall margin, combustor blowout, maximum T4B, minimum and maximum PS3, maximum N25.

A quadratic programming (QP) algorithm with the linearized dynamic model is used along with a quadratic objective function and linear constraints. The QP problem is convex and can be solved readily with available QP software. Moreover, since the linearization is performed repeatedly at each time sample about the corresponding operating point, it accounts for the nonlinearities encountered during dynamic transients over the flight envelope. To implement the control module using the QP formulation, the nonlinear SRTM is linearized about the current state estimate {circumflex over (x)}_(t) obtained by the EKF and the current inputs {overscore (u)}_(t−1), and then discretized in time using the sample time T_(s), to obtain the linear discrete-time model.

The main control objective is to track changes in the references for the two controlled outputs. The optimization objective function is postulated as a standard quadratic function to be minimized over a future prediction horizon nh, using the piecewise constant inputs over a future control horizon nc. More specifically, the objective function to be minimized is: $\begin{matrix} \begin{matrix} {J_{LQ} = {\frac{1}{2}\left\{ {{\sum\limits_{i = 1}^{nh}{\Delta\quad{\overset{\sim}{y}}_{t + i}^{T}Q\quad\Delta\quad{\overset{\sim}{y}}_{t + i}}} + {\sum\limits_{i = 1}^{nc}{\Delta\quad u_{t + i - 1}^{T}R\quad\Delta\quad u_{t + i - 1}}}} \right\}}} \\ {= {\frac{1}{2}\left\{ {{\left( {\Delta\quad{\overset{\sim}{y}}_{t + 1}^{T}Q^{\frac{1}{2}}\quad\ldots\quad\Delta\quad{\overset{\sim}{y}}_{t + {nh}}^{T}Q^{\frac{1}{2}}} \right)\begin{pmatrix} {Q^{\frac{1}{2}}\Delta\quad{\overset{\sim}{y}}_{t + 1}} \\ \vdots \\ {Q^{\frac{1}{2}}\Delta\quad{\overset{\sim}{y}}_{t + {nh}}} \end{pmatrix}} +} \right.}} \\ \left. {\left( {\Delta\quad u_{t}^{T}R^{\frac{1}{2}}\quad\ldots\quad\Delta\quad u_{t + {nc} - 1}^{T}R^{\frac{1}{2}}} \right)\begin{pmatrix} {R^{\frac{1}{2}}\Delta\quad u_{t}} \\ \vdots \\ {R^{\frac{1}{2}}\Delta\quad u_{t + {nc} - 1}} \end{pmatrix}} \right\} \end{matrix} & \left( {{Eq}.\quad 20} \right) \end{matrix}$ where Δ{tilde over (y)}_(t+i) ={tilde over (y)} _(r,t+t)−{tilde over (y)}_(t+i) denotes the error between the output reference and the predicted output at a future sample t+i, Δu_(t+i)=u_(t+i)−u_(t+i−1)=Δũ_(t+i)=ũ_(t+i)−ũ_(t+i−1) denotes the change in the manipulated inputs at sample t+i relative to the value of the inputs at the previous sample, and Q and R are symmetric positive definite weighting matrices. The weighting matrices Q and R and the prediction and control horizons nh, nc, respectively are tuned for optimal performance and stability. The objective function is to be minimized as a function of the future control action values ũ_(t+i−1), i=1, . . . , nc assuming that ũ_(t+i−1)=ũ_(t+nc−1), i=nc+1, . . . , nh. The objective function is calculated over the future prediction horizon nh using a linear discrete time model.

The predicted values of the outputs {tilde over (y)}_(t+i) in terms of deviations from the current measured value {overscore (y)}_(t) are given by the following relation: $\begin{matrix} \begin{matrix} {{\overset{\sim}{Y}}_{e} = \begin{bmatrix} {\overset{\sim}{y}}_{t + 1} \\ \vdots \\ {\overset{\sim}{y}}_{t + {nh}} \end{bmatrix}} \\ {{= {C_{e}\begin{bmatrix} {\overset{\sim}{x}}_{t + 1} \\ \vdots \\ {\overset{\sim}{x}}_{t + {nh}} \end{bmatrix}}},{{where}\quad C_{e}}} \\ {= \left( {I_{nh} \otimes C} \right)} \\ {= {C_{e}\left\{ {{\begin{bmatrix} A \\ \vdots \\ A^{t + {nh}} \end{bmatrix}{\overset{\sim}{x}}_{t}} + {\begin{bmatrix} B & 0 & \ldots & 0 \\ {AB} & B & ⋰ & \vdots \\ \vdots & \vdots & ⋰ & 0 \\ {A^{t + {nh} - 1}B} & \ldots & {AB} & B \end{bmatrix}\begin{bmatrix} {\overset{\sim}{u}}_{t} \\ {\overset{\sim}{u}}_{t + 1} \\ \vdots \\ {\overset{\sim}{u}}_{t + {nh}} \end{bmatrix}} +} \right.}} \\ \left. \begin{bmatrix} F \\ {\sum\limits_{i = 1}^{2}{A^{i - 1}F}} \\ \vdots \\ {\sum\limits_{i = 1}^{nh}{A^{i - 1}F}} \end{bmatrix} \right\} \\ {= {C_{e}\left\{ {{A_{e}{\overset{\sim}{x}}_{t}} + {{AB}_{e}*\begin{bmatrix} I_{nc} \\ \begin{matrix} 0_{\begin{matrix} {{nh} - {nc} + 1} & x & {{nc} - 1} \end{matrix}} & 1_{\begin{matrix} {{nh} - {nc} + 1} & x & 1 \end{matrix}} \end{matrix} \end{bmatrix}}} \right.}} \\ \left. {\begin{bmatrix} {\overset{\sim}{u}}_{t} \\ {\overset{\sim}{u}}_{t + 1} \\ \vdots \\ {\overset{\sim}{u}}_{t + {nc}} \end{bmatrix} + {AF}_{e}} \right\} \\ {= {{C_{1}{\overset{\sim}{x}}_{t}} + {C_{2}{\overset{\sim}{U}}_{e}} + C_{3}}} \\ {= {{C_{2}{\overset{\sim}{U}}_{e}} + C_{3}}} \end{matrix} & \left( {{Eq}.\quad 21} \right) \end{matrix}$

Note that by its definition, {tilde over (x)}_(t)=0, which is utilized in the above relation to obtain the predicted outputs {tilde over (Y)}_(e) over the prediction horizon nh, as a linear function of the future control action Ũ_(e) over the control horizon nc. Moreover, the changes in the control inputs Δu_(t+i)=ũ_(t+i)−ũ_(t+i−1) are denoted by the following compact relation: $\begin{matrix} {\begin{bmatrix} {\Delta\quad u_{t}} \\ {\Delta\quad u_{t + 1}} \\ \vdots \\ {\Delta\quad u_{t + {nc}}} \end{bmatrix} = {{\begin{bmatrix} 1 & 0 & \ldots & 0 \\ {- 1} & 1 & 0 & 0 \\ 0 & ⋰ & ⋰ & 0 \\ 0 & 0 & {- 1} & 1 \end{bmatrix}\begin{bmatrix} {\overset{\sim}{u}}_{t} \\ {\overset{\sim}{u}}_{t + 1} \\ \vdots \\ {\overset{\sim}{u}}_{t + {nc}} \end{bmatrix}} = {\Gamma\quad{\overset{\sim}{U}}_{e}}}} & \left( {{Eq}.\quad 22} \right) \end{matrix}$

Using the above relations, the predicted value of the objective function to be minimized over the prediction horizon is given by the compact relation: $\begin{matrix} \begin{matrix} {J_{LQ} = {{\left( {{\overset{\sim}{Y}}_{re} - {\overset{\sim}{Y}}_{e}} \right)^{T}\left( {I_{nh} \otimes Q} \right)\left( {{\overset{\sim}{Y}}_{re} - {\overset{\sim}{Y}}_{e}} \right)} +}} \\ {{\overset{\sim}{U}}_{e}^{T}{\Gamma^{T}\left( {I_{nc} \otimes R} \right)}\Gamma\quad{\overset{\sim}{U}}_{e}} \\ {= {{\left( {{\overset{\sim}{Y}}_{re} - {C_{2}{\overset{\sim}{U}}_{e}} - C_{3}} \right)^{T}{Q_{e}\left( {{\overset{\sim}{Y}}_{re} - {C_{2}{\overset{\sim}{U}}_{e}} - C_{3}} \right)}} +}} \\ {{\overset{\sim}{U}}_{e}^{T}\Gamma^{T}R_{e}\Gamma\quad{\overset{\sim}{U}}_{e}} \\ {= {H_{0} + {{\overset{\sim}{U}}_{e}^{T}H_{1}{\overset{\sim}{U}}_{e}} + {H_{2}{\overset{\sim}{U}}_{3}}}} \end{matrix} & \left( {{Eq}.\quad 23} \right) \end{matrix}$

The above quadratic objective function is to be minimized with respect to the future control moves Ũ_(e), subject to all input and output constraints. In particular, the input constraints consist of the min/max magnitude and rate of change constraints: u _(min) ≦{overscore (u)} _(t−1) +ũ _(t+i) ≦u _(max) Δu _(min) ≦ũ _(t+i) −ũ _(t+i−1) ≦Δu _(max)  (Eq. 24)

In addition to the above input constraints, which are typically hard constraints, there may be other state/output operational/safety constraints (e.g., minimum stall margin, maximum core speed, combustor blowout). In one formulation of the NMPC, a logic to generate the output reference trajectory and update the constraints for changes in the control actions (fuel flow and A8) is used to enforce these operational/safety constraints. However, it is possible to enforce these operational/safety constraints directly using a linear model for the prediction of the relevant state/output variables over the prediction horizon. For instance, in order to enforce the maximum limit on the core speed, which is a measured variable and the 2^(nd) state in the SRTM, the constraint can be accounted for using the linear discrete-time model: {tilde over (x)} _(2,t+i) ≦x _(2max) −{circumflex over (x)} _(2,t) ={tilde over (x)} _(2max)  (Eq. 25)

Note that, unlike the input constraints, these state/output constraints rely on the model predictions and thus are subject to plant-model mismatch over the prediction horizon. Thus, to avoid potential infeasibility, these constraints are typically included as a soft constraint. Thus, the overall QP problem to be solved at each time sample for the NMPC is given below: min J _(LQ) =Ũ _(e) ^(T) H ₁ Ũ _(e) +H ₂ Ũ _(e) +Wβ Ũ_(e),β

-   -   subject to the constraints:         Ũ _(e min) ≦Ũ _(e) ≦Ũ _(e max)         ΔŨ_(e min) ≦ΓŨ _(e) ≦ΔŨ _(e max)         {tilde over (Y)} _(e,min) ^(s) −β≦L ₁ Ũ _(e) +L ₂ ≦{tilde over         (Y)} _(e,max) ^(s)+β         β≧0  (Eq. 26)

In the above QP formulation, the constant term H₀ in the quadratic objective function is ignored, β denotes the violation in the soft, output/state constraints, W is the penalty on the soft constraints, {tilde over (Y)}_(e,min) ^(s) and {tilde over (Y)}_(e,max) ^(s) are the minimum and maximum limits on these output/state constraints in terms of deviations from the current values and L₁Ũ_(e)+L₂ denotes the predicted values of these output/state constraints over the prediction horizon using the linear discrete time model.

The solution of the QP problem in Eq. 26 yields the optimal control trajectory Ũ_(e) over the control horizon nc. The optimal values for the first sample, i.e. ũ_(t), yields the absolute value of the control action, u_(t)={overscore (u)}_(t−1)+ũ_(t). This optimal control input is implemented and the QP problem is updated and solved at the next sample along with the EKF.

The quadratic-programming based optimizer and control module rely on the predictions of the engine variables over the future prediction horizon. In the presence of a plant-model mismatch, the model predictions used in the control module can be incorrect and can lead to controller performance degradation or even instability. In embodiments of the present invention, the plant-model mismatch is addressed by including a corrective term on the model used for the prediction. In particular, at each time sample t, the term K(y_(t)−h({circumflex over (x)}_({overscore (t)}+1),p_(t),u_(t))), in the EKF (Eq. 19) provides the mismatch between the current output measurements y_(t) and the model predictions for these outputs ŷ_(t)=h({circumflex over (x)}_({overscore (t)}+1),p_(t),u_(t)) with the current state estimates {circumflex over (x)}_(t). The current value of this feedback correction term can be used as a constant correction term in the linearized discrete-time model. More specifically, this constant term can be included in the constant vector F to obtain the corrected linear model that can be used for prediction: {tilde over (x)} _(t+1) =A{tilde over (x)} _(t) +Bũ _(t)+(F+L(z _(t) −{circumflex over (z)} _(t))), {tilde over (y)} _(t) =C{tilde over (x)} _(t)  (Eq. 27)

The above correction term that accounts for the mismatch between the measured and predicted outputs, along with the fact that the quadratic objective function formulation in terms of deviations in the control actions effectively amounts to an integral action with respect to the error between the output reference and the predicted outputs, allows an offset-less control even in the presence of plant-model mismatch.

In another formulation of the QP problem, an infinite prediction horizon may be implemented. In this regard, the control objective function is extended to an infinite prediction horizon, resulting in positive impacts on stability and robustness. The penalty for using the infinite prediction horizon is an increase in the computational cost to achieve a solution. To counter this penalty, a compact and efficient calculation of the infinite horizon term has been developed.

The standard quadratic objective function of Eq. 20 involves a quadratic cost on the tracking error Δ{tilde over (y)}_(t+i) over a prediction horizon n_(h) and a quadratic cost on the control action u_(t+i−1) over a control horizon n_(c) (n_(c)<<n_(h)), where it is assumed that the control action is constant after the control horizon, i.e. u_(t+nc−1)=u_(t+nc)=u_(t+nc+1)= . . . . A larger control horizon enables improved control performance, however the optimization problem and hence the computational burden grows with the control horizon, thereby limiting the control horizon due to real-time implementation issues. On the other hand, a larger prediction horizon enables improved stability and robustness, hence the prediction horizon is typically chosen to be significantly larger than the control horizon.

In the case of a large prediction horizon n_(h), the objective function in Eq. 20 involves an expensive calculation of the tracking error terms $\left( {\sum\limits_{i = {{nc} + 1}}^{nh}{\Delta\quad{\overset{\sim}{y}}_{t + i}^{T}Q\quad\Delta\quad{\overset{\sim}{y}}_{t + i}}} \right)$ beyond the control horizon n_(c). This increases the computational burden and limits the choice of the prediction horizon n_(h) due to real-time implementation issues. The use of infinite prediction horizon improves the stability and performance of the controller without adding undue computational burden. A significantly more efficient alternative is proposed to evaluating the quadratic cost due to the tracking error over an “infinite” prediction horizon with minimal computational overhead.

In particular, consider the quadratic objective function over an infinite prediction horizon: $\begin{matrix} \begin{matrix} {J_{\infty} = {\frac{1}{2}\left\{ {{\sum\limits_{i = 1}^{\infty}{\Delta\quad{\overset{\sim}{y}}_{t + i}^{T}Q\quad\Delta\quad{\overset{\sim}{y}}_{t + i}}} + {\sum\limits_{i = 1}^{i = {nc}}{\Delta\quad u_{t + i - 1}^{T}R\quad\Delta\quad u_{{t + i} = 1}}}} \right\}}} \\ {= {{\frac{1}{2}\left\{ {{\sum\limits_{i = 1}^{nc}{\Delta\quad{\overset{\sim}{y}}_{t + i}^{T}Q\quad\Delta\quad{\overset{\sim}{y}}_{t + i}}} + {\sum\limits_{i = 1}^{i = {nc}}{\Delta\quad u_{t + i - 1}^{T}R\quad\Delta\quad u_{{t + i} = 1}}}} \right\}} +}} \\ {\frac{1}{2}{\sum\limits_{i = {{nc} + 1}}^{\infty}{\Delta\quad{\overset{\sim}{y}}_{t + i}^{T}Q\quad\Delta\quad{\overset{\sim}{y}}_{t + i}}}} \\ {= {J_{nc} + J_{{nc},\infty}}} \end{matrix} & \left( {{Eq}.\quad 28} \right) \end{matrix}$

Note that due to the assumption of constant control action beyond the control horizon (e.g., u_(t+nc−1)=u_(t+nc)=u_(t+nc+1)= . . . ) the quadratic cost of the control action based on Δu_(t+nc+i−1) is zero and omitted from the objective function. The objective function is factored into two terms, where the first term is the standard objective function J_(nc) corresponding to a prediction horizon nh same as the control horizon nc. It is given as a quadratic function of the control action U=[u_(t) . . . u_(t+nc−1)]^(T): $\begin{matrix} {J_{nc} = {{\frac{1}{2}U^{T}H_{nc}U} + {f_{nc}^{T}U}}} & \left( {{Eq}.\quad 29} \right) \end{matrix}$

The second term $J_{{nc},\infty} = {\frac{1}{2}{\sum\limits_{i = {{nc} + 1}}^{\infty}{\Delta\quad{\overset{\sim}{y}}_{t + i}^{T}Q\quad\Delta\quad{\overset{\sim}{y}}_{t + i}}}}$ is the remaining quadratic cost on the tracking error beyond the control horizon, and needs to be computed as a function of the control action in a compact and efficient manner. We will henceforth focus on calculating this tracking error term over the infinite horizon. In fact, we will calculate a slightly modified term: $\begin{matrix} {{\frac{1}{2}{\sum\limits_{i = {{nc} + 1}}^{\infty}{\alpha_{i}\Delta\quad{\overset{\sim}{y}}_{t + i}^{T}Q\quad\Delta\quad{\overset{\sim}{y}}_{t + i}}}},} & \left( {{Eq}.\quad 30} \right) \end{matrix}$ with an exponentially decaying weighting factor α_(i) given by α_(nc+1)=1, α_(i+1)=aα_(i) (a<1). The use of such an exponentially decaying weighting factor is motivated by several factors: (i) Due to modeling errors, model predictions over future get less accurate with increasing horizon, hence the decaying weighting factor reduces the weights on tracking error with increasing samples in future and gives more weight to tracking error in the immediate future. (ii) In some cases, one or more limiting constraints become active and inhibit an offset-less tracking, i.e. the tracking error term Δ{tilde over (y)}_(t+i) does not decay to zero over the infinite horizon. In such a case, the exponentially decaying weighting factor α_(i) (with a<1)) is necessary to ensure that the sum of tracking error terms over an infinite horizon is still bounded and can be minimized.

The tracking error terms Δ{tilde over (y)}_(t+i) in Eq. 20 correspond to the outputs of the system: {tilde over (x)} _(t+i+1) =A{tilde over (x)} _(t+i) +Bũ _(t+nc−1) +F, {tilde over (y)} _(t+i) =C{tilde over (x)} _(t+i) +Dũ _(t+nc−1)  (Eq. 31) starting from the initial state {tilde over (x)}_(t+nc) and constant inputs ũ_(t+nc−1). It is assumed that the above dynamic system is stable (i.e., all eigen values of A are within the unit circle, else the states and hence the outputs would go unbounded over the infinite prediction horizon). For such a stable system, the final steady state corresponding to the constant input ũ_(t+nc−1) is given by: {tilde over (x)} _(s) =A{tilde over (x)} _(s) +Bũ _(t+nc−1) +F, {tilde over (y)} _(s) =C{tilde over (x)} _(s) +Dũ _(t+nc−1)  (Eq. 32) or, {tilde over (x)} _(s)=(I−A)⁻¹ [Bũ _(t+nc−1) +F] {tilde over (y)} _(s) =[C(I−A)⁻¹ B+D]ũ _(t+nc−1) +C(I−A)⁻¹ F=K _(u) ũ _(t+nc−1) +K _(F)  (Eq. 33)

Defining the deviation variables {haeck over (x)}_(t+i)={tilde over (x)}_(t+i)−{tilde over (x)}_(s), and {haeck over (y)}_(t+i)={tilde over (y)}_(t+i)−{tilde over (y)}_(s), the system dynamics are given by the simplified set of equations: {haeck over (x)}_(t+i+1) =A{haeck over (x)} _(t+i) {haeck over (y)} _(t+i) =C{haeck over (x)} _(t+i)  (Eq. 34)

Thus, the infinite horizon tracking error term is given by: $\begin{matrix} \begin{matrix} {O_{{nc},\infty} = {\frac{1}{2}{\sum\limits_{i = {{nc} + 1}}^{\infty}{\alpha_{i}\Delta\quad{\overset{\sim}{y}}_{t + i}^{T}Q\quad\Delta\quad{\overset{\sim}{y}}_{t + i}}}}} \\ {= {\frac{1}{2}{\sum\limits_{i = {{nc} + 1}}^{\infty}{\alpha_{i}\left( {{\overset{\sim}{y}}_{r,{t + i}} - K_{F} - {K_{u}{\overset{\sim}{u}}_{t + {nc} - 1}} - {C{\overset{˘}{x}}_{t + i}}} \right)}^{T}}}} \\ {Q\left( {{\overset{\sim}{y}}_{r,{t + i}} - K_{F} - {K_{u}{\overset{\sim}{u}}_{t + {nc} - 1}} - {C\quad{\overset{˘}{x}}_{t + i}}} \right)} \\ {= {{\frac{1}{2}{\sum\limits_{i = {{nc} + 1}}^{\infty}{{\alpha_{i}\left( {{\overset{\sim}{y}}_{r,{t + i}} - K_{F}} \right)}^{T}{Q\left( {{\overset{\sim}{y}}_{r,{t + i}} - K_{F}} \right)}}}} +}} \\ {{\frac{1}{2}{\overset{\sim}{u}}_{t + {nc} - 1}^{T}K_{u}^{T}{QK}_{u}{\overset{\sim}{u}}_{t + {nc} - 1}{\sum\limits_{i = {{nc} + 1}}^{\infty}\alpha_{i}}} +} \\ {{\sum\limits_{i = {{nc} + 1}}^{\infty}{\left( {\alpha_{i}^{0.5}{\overset{˘}{x}}_{t + i}} \right)^{T}C^{T}{{QC}\left( {\alpha_{i}^{0.5}{\overset{˘}{x}}_{t + i}} \right)}}} -} \\ {{\left( {{\overset{\sim}{y}}_{r,{t + i}} - K_{F}} \right)^{T}{QK}_{u}{\overset{\sim}{u}}_{t + {nc} - 1}{\sum\limits_{i = {{nc} + 1}}^{\infty}\alpha_{i}}} -} \\ {\sum\limits_{i = {{nc} + 1}}^{\infty}{{\alpha_{i}\left( {{\overset{\sim}{y}}_{r,{t + i}} - K_{F} - {K_{u}{\overset{\sim}{u}}_{t + {nc} - 1}}} \right)}^{T}{QC}\quad{\overset{˘}{x}}_{t + i}}} \end{matrix} & \left( {{Eq}.\quad 35} \right) \end{matrix}$

Note that in the above equation, the first term is a constant, which is independent of the control action and can be omitted from the optimization objective. Moreover, the term ({tilde over (y)}_(r,t+i)−K_(F)−K_(u)ũ_(t+nc−1)) denotes the steady state error between the output references and the controlled outputs, which will be assumed to be zero. Also, the summation term $\sum\limits_{i = {{nc} + 1}}^{\infty}{\left( {\alpha_{i}^{0.5}{\overset{˘}{x}}_{t + i}} \right)^{T}C^{T}{{QC}\left( {\alpha_{i}^{0.5}{\overset{˘}{x}}_{t + i}} \right)}}$ is evaluated in a compact closed-form as =α_(t+nc+1){haeck over (x)}_(t+nc+1) ^(T){overscore (Q)}{haeck over (x)}_(t+nc+1), where {overscore (Q)} is a symmetric positive definite matrix that is the solution of the Lyapunov equation: {overscore (Q)}−A ^(T) a ^(0.5) {tilde over (Q)}a ^(0.5) A=C ^(T) QC.  (Eq. 36)

Finally, {haeck over (x)}_(t+nc+1)={tilde over (x)}_(t+nc+1)−{tilde over (x)}_(s)={tilde over (x)}_(t+nc+1)−(I−A)⁻¹(Bũ_(t+nc−1)+F), where the state {tilde over (x)}_(t+nc)=G_(t+nc)U+V_(t+nc) is a function of the control inputs U and the free response corresponding to F. Thus, {tilde over (x)} _(t+nc+1)=A{tilde over (x)}_(t+nc) +F=AG _(t+nc) U+AV _(t+nc) +F=G _(t+nc+1) U+V _(t+nc+1)  (Eq. 37) and {haeck over (x)} _(t+nc+1) ={G _(t+nc+1)−[0 . . . 0 (I−A)⁻¹ B]} U+{V _(t+nc+1)−(I−A)⁻¹ F}={haeck over (G)} _(t+nc+1) U+{haeck over (V)} _(t+nc+1)  (Eq. 38)

Substituting these relations in Eq. 29, the following compact relation is obtained for the infinite horizon tracking error term: $\begin{matrix} \begin{matrix} {O_{{nc},\infty} = {{\frac{1}{2}{\overset{\sim}{u}}_{t + {nc} - 1}^{T}K_{u}^{T}{QK}_{u}{{\overset{\sim}{u}}_{t + {nc} - 1}\left( \frac{\alpha_{{nc} + 1}}{1 - a} \right)}} + {\frac{1}{2}\alpha_{{nc} + 1}}}} \\ {{\left\lbrack {{{\overset{˘}{G}}_{t + {nc} + 1}U} + {\overset{˘}{V}}_{t + {nc} + 1}} \right\rbrack^{T}{\overset{\_}{Q}\left\lbrack {{{\overset{˘}{G}}_{t + {nc} + 1}U} + {\overset{˘}{V}}_{t + {nc} + 1}} \right\rbrack}} -} \\ {\left( \frac{\alpha_{{nc} + 1}}{1 - a} \right)\left( {{\overset{\sim}{y}}_{r,{t + {nc}}} - K_{F}} \right)^{T}{QK}_{u}{\overset{\sim}{u}}_{t + {nc} - 1}} \\ {= {{\frac{1}{2}U^{T}H_{{nc},\infty}U} + {f_{{nc},\infty}^{T}U}}} \end{matrix} & \left( {{Eq}.\quad 39} \right) \end{matrix}$ which is another quadratic expression in the control action U similar to the objective function O_(nc) over the control horizon in Eq. 29. Thus, evaluating the matrices: $\begin{matrix} \begin{matrix} {H_{{nc},\infty} = {{\alpha_{{nc} + 1}{\overset{\Cup}{G}}_{t + {nc} + 1}^{T}\overset{\_}{Q}{\overset{\Cup}{G}}_{t + {nc} + 1}} +}} \\ {{\left( \frac{\alpha_{{nc} + 1}}{1 - a} \right)\begin{bmatrix} 0 & \ldots & 0 \\ \vdots & \quad & \vdots \\ 0 & \ldots & {K_{u}^{T}{QK}_{u}} \end{bmatrix}},} \\ {{f_{{nc},\infty} = {{{\overset{\Cup}{G}}_{t + {nc} + 1}^{T}\overset{\_}{Q}{\overset{˘}{V}}_{t + {nc} + 1}} - \begin{bmatrix} 0 \\ \vdots \\ 0 \\ {\left( \frac{\alpha_{{nc} + 1}}{1 - a} \right)K_{u}^{T}{Q\left( {{\overset{\sim}{y}}_{r,{t + {nc}}} - K_{F}} \right)}} \end{bmatrix}}},} \end{matrix} & \left( {{Eq}.\quad 40} \right) \end{matrix}$ the infinite horizon tracking error term in Eq. 39 can be obtained in a compact and efficient manner. Finally, note that α_(nc+1)=1 and the forgetting factor a<1 can be tuned to shorten or lengthen the extent of the infinite horizon tracking error that contributes to the overall objective function and the rate of decay of their relative weighting. A larger value of a will lengthen the effective terms in the infinite horizon thereby increasing the stability characteristics. However, in the presence of modeling errors, the undue weight on distant future tracking errors will degrade the transient performance. A judicious tuning of the factor a will enable increased stability as well as improved performance.

The present application is related to U.S. patent application Ser. No. 10/306,433, GE Dkt. No. 124447, entitled “METHODS AND APPARATUS FOR MODEL PREDICTIVE CONTROL OF AIRCRAFT GAS TURBINE ENGINES,” filed Nov. 27, 2002, and U.S. patent application Ser. No. 10/293,078, GE Dkt. No. 126067, entitled “ADAPTIVE MODEL-BASED CONTROL SYSTEMS AND METHODS FOR CONTROLLING A GAS TURBINE,” filed Nov. 13, 2002, each of which is incorporated herein by reference in its entirety.

Exemplary embodiments of control systems and methods are described above in detail. The systems are not limited to the specific embodiments described herein, but rather, components of each system may be utilized independently and separately from other components described herein. Each system component can also be used in combination with other system components.

While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims. 

1. A method of controlling a gas turbine engine, said engine having sensors to detect one or more parameters and actuators adapted to respond to commands, comprising: receiving data from said sensors of said engine for one or more measured or sensed parameters; estimating a state of said engine by estimating one or more unmeasured or unsensed parameters using the data from said sensors and a predictive model of said engine; and generating commands for said actuators based on said state using an optimization algorithm; and transmitting said commands to said engine.
 2. The method of claim 1, wherein said step of estimating uses an Extended Kalman Filter.
 3. The method of claim 2, wherein said Extended Kalman Filter is adapted to correct a mismatch between said model and said engine.
 4. The method of claim 2, wherein said predictive model is a simplified real-time model.
 5. The method of claim 4, wherein said simplified real-time model is a non-iterating, analytic model.
 6. The method of claim 5, wherein said simplified real-time model is a non-linear model which can be linearized.
 7. The method of claim 1, wherein said predictive model is a simplified real-time model.
 8. The method of claim 7, wherein said simplified real-time model is a non-iterating, analytic model.
 9. The method of claim 8, wherein said simplified real-time model is a non-linear model which can be linearized.
 10. The method of claim 1, wherein said optimization algorithm is a quadratic programming algorithm adapted to optimize an objective function under a set of constraints.
 11. The method of claim 10, wherein said objective function is based on at least one of said unmeasured or unsensed parameters.
 12. The method of claim 11, wherein optimization algorithm uses a control horizon to optimize said objective function.
 13. The method of claim 12, wherein said control horizon is finite.
 14. The method of claim 12, wherein said control horizon is infinite.
 15. The method of claim 14, wherein optimization algorithm implements said infinite control horizon by approximating an infinite horizon tracking error.
 16. The method of claim 10, wherein at least one of said constraints is based on at least one of said unmeasured or unsensed parameters.
 17. The method of claim 1, wherein said step of generating commands includes simulating said engine in a model.
 18. The method of claim 11, wherein said model is a simplified real-time model.
 19. The method of claim 18, wherein said simplified real-time model is a linearized non-iterating, analytic model.
 20. A system for controlling a gas turbine engine, said engine having sensors to detect one or more parameters and actuators adapted to respond to commands, comprising: a state estimator adapted to estimate a state of said engine by estimating one or more unmeasured or unsensed parameters using data from said sensors of said engine for one or more measured or sensed parameters, said estimator including a model of said engine; and a control module adapted to generate commands for said actuators based on said state, said control module including an optimization algorithm for determining said commands.
 21. The system of claim 20, wherein said state estimator uses an Extended Kalman Filter.
 22. The system of claim 21, wherein said Extended Kalman Filter is adapted to correct a mismatch between said model and said engine.
 23. The system of claim 21, wherein said model is a predictive simplified real-time model.
 24. The system of claim 23, wherein said simplified real-time model is a non-iterating, analytic model.
 25. The system of claim 24, wherein said simplified real-time model is a non-linear model which can be linearized.
 26. The system of claim 20, wherein said model is a predictive simplified real-time model.
 27. The system of claim 26, wherein said simplified real-time model is a non-iterating, analytic model.
 28. The system of claim 27, wherein said simplified real-time model is a non-linear model which can be linearized.
 29. The system of claim 20, wherein said optimization algorithm is a quadratic programming algorithm adapted to optimize an objective function under a set of constraints.
 30. The system of claim 29, wherein said objective function is based on at least one of said unmeasured or unsensed parameters.
 31. The system of claim 30, wherein optimization algorithm uses a control horizon to optimize said objective function.
 32. The system of claim 31, wherein said control horizon is finite.
 33. The system of claim 31, wherein said contr0ol horizon is infinite.
 34. The system of claim 33, wherein optimization algorithm implements said infinite control horizon by approximating an infinite horizon tracking error.
 35. The system of claim 29, wherein at least one of said constraints is based on at least one of said unmeasured or unsensed parameters.
 36. The system of claim 20, wherein said control module is adapted to generate commands by simulating said engine in a model.
 37. The system of claim 36, wherein said model is a simplified real-time model.
 38. The system of claim 37, wherein said simplified real-time model is a linearized non-iterating, analytic model. 